package com.wocai.jrt.orgadmin.enterprise.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class FinancialCashFlowBean {
    /**
     * order by 排序语句
     * 对应数据库表字段 financial_cash_flow
     */
    private String orderBy;

    /**
     * 分页开始记录
     * 对应数据库表字段 financial_cash_flow
     */
    private Integer start;

    /**
     * 分页大小
     * 对应数据库表字段 financial_cash_flow
     */
    private int pageSize = 10;

    /**
     * 是否指定 distinct 去除重复
     * 对应数据库表字段 financial_cash_flow
     */
    private boolean distinct;

    /**
     * 逻辑or语句
     * 对应数据库表字段 financial_cash_flow
     */
    private List<Criteria> oredCriteria;

    /**
     */
    public FinancialCashFlowBean() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * 设置 order by 排序语句
     */
    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    /**
     * 获得 order by 排序语句
     */
    public String getOrderBy() {
        return orderBy;
    }

    /**
     * 设置 start，分页开始记录
     */
    public void setStart(Integer start) {
        this.start = start;
    }

    /**
     * 获得 start，分页开始记录
     */
    public Integer getStart() {
        return start;
    }

    /**
     * 设置 pageSize，分页大小
     */
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    /**
     * 获得 pageSize，分页大小
     */
    public int getPageSize() {
        return pageSize;
    }

    /**
     * 设置是否指定 distinct 去除重复
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * 是否设置了distinct语句，true是，false否。
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * 获得逻辑or语句
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     * 添加逻辑or语句
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     * 添加逻辑and语句
     */
    public void and(Criteria criteria) {
        criteria.setAndRelation(true);
        oredCriteria.add(criteria);
    }

    /**
     * 新建逻辑或or语句
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * 新建逻辑and语句
     */
    public Criteria and() {
        Criteria criteria = createCriteriaInternal();
        criteria.setAndRelation(true);
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * 创建查询条件，如果逻辑或为空，同时将查询条件放入。
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * 创建新查询条件。
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * 清除逻辑或or语句，并且distinct为false，不去重。
     */
    public void clear() {
        oredCriteria.clear();
    }

    /**
     * 该类对应数据库表 financial_cash_flow
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void orCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition, true));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void orCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value, true));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void orCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2, true));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdIsNull() {
            orCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria orIdIsNotNull() {
            orCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria orIdEqualTo(String value) {
            orCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdNotEqualTo(String value) {
            orCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdGreaterThan(String value) {
            orCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdGreaterThanOrEqualTo(String value) {
            orCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdLessThan(String value) {
            orCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdLessThanOrEqualTo(String value) {
            orCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdLike(String value) {
            orCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria orIdNotLike(String value) {
            orCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria orIdIn(List<String> values) {
            orCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria orIdNotIn(List<String> values) {
            orCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria orIdBetween(String value1, String value2) {
            orCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria orIdNotBetween(String value1, String value2) {
            orCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdIsNull() {
            addCriterion("financial_report_id is null");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdIsNotNull() {
            addCriterion("financial_report_id is not null");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdEqualTo(String value) {
            addCriterion("financial_report_id =", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdNotEqualTo(String value) {
            addCriterion("financial_report_id <>", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdGreaterThan(String value) {
            addCriterion("financial_report_id >", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdGreaterThanOrEqualTo(String value) {
            addCriterion("financial_report_id >=", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdLessThan(String value) {
            addCriterion("financial_report_id <", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdLessThanOrEqualTo(String value) {
            addCriterion("financial_report_id <=", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdIsNull() {
            orCriterion("financial_report_id is null");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdIsNotNull() {
            orCriterion("financial_report_id is not null");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdEqualTo(String value) {
            orCriterion("financial_report_id =", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdNotEqualTo(String value) {
            orCriterion("financial_report_id <>", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdGreaterThan(String value) {
            orCriterion("financial_report_id >", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdGreaterThanOrEqualTo(String value) {
            orCriterion("financial_report_id >=", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdLessThan(String value) {
            orCriterion("financial_report_id <", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdLessThanOrEqualTo(String value) {
            orCriterion("financial_report_id <=", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdLike(String value) {
            addCriterion("financial_report_id like", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdNotLike(String value) {
            addCriterion("financial_report_id not like", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdLike(String value) {
            orCriterion("financial_report_id like", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdNotLike(String value) {
            orCriterion("financial_report_id not like", value, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdIn(List<String> values) {
            addCriterion("financial_report_id in", values, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdNotIn(List<String> values) {
            addCriterion("financial_report_id not in", values, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdBetween(String value1, String value2) {
            addCriterion("financial_report_id between", value1, value2, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andFinancialReportIdNotBetween(String value1, String value2) {
            addCriterion("financial_report_id not between", value1, value2, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdIn(List<String> values) {
            orCriterion("financial_report_id in", values, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdNotIn(List<String> values) {
            orCriterion("financial_report_id not in", values, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdBetween(String value1, String value2) {
            orCriterion("financial_report_id between", value1, value2, "financialReportId");
            return (Criteria) this;
        }

        public Criteria orFinancialReportIdNotBetween(String value1, String value2) {
            orCriterion("financial_report_id not between", value1, value2, "financialReportId");
            return (Criteria) this;
        }

        public Criteria andLine1StartIsNull() {
            addCriterion("line1_start is null");
            return (Criteria) this;
        }

        public Criteria andLine1StartIsNotNull() {
            addCriterion("line1_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine1StartEqualTo(BigDecimal value) {
            addCriterion("line1_start =", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartNotEqualTo(BigDecimal value) {
            addCriterion("line1_start <>", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartGreaterThan(BigDecimal value) {
            addCriterion("line1_start >", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line1_start >=", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartLessThan(BigDecimal value) {
            addCriterion("line1_start <", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line1_start <=", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartIsNull() {
            orCriterion("line1_start is null");
            return (Criteria) this;
        }

        public Criteria orLine1StartIsNotNull() {
            orCriterion("line1_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine1StartEqualTo(BigDecimal value) {
            orCriterion("line1_start =", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartNotEqualTo(BigDecimal value) {
            orCriterion("line1_start <>", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartGreaterThan(BigDecimal value) {
            orCriterion("line1_start >", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line1_start >=", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartLessThan(BigDecimal value) {
            orCriterion("line1_start <", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line1_start <=", value, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartIn(List<BigDecimal> values) {
            addCriterion("line1_start in", values, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartNotIn(List<BigDecimal> values) {
            addCriterion("line1_start not in", values, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line1_start between", value1, value2, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line1_start not between", value1, value2, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartIn(List<BigDecimal> values) {
            orCriterion("line1_start in", values, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartNotIn(List<BigDecimal> values) {
            orCriterion("line1_start not in", values, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line1_start between", value1, value2, "line1Start");
            return (Criteria) this;
        }

        public Criteria orLine1StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line1_start not between", value1, value2, "line1Start");
            return (Criteria) this;
        }

        public Criteria andLine1EndIsNull() {
            addCriterion("line1_end is null");
            return (Criteria) this;
        }

        public Criteria andLine1EndIsNotNull() {
            addCriterion("line1_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine1EndEqualTo(BigDecimal value) {
            addCriterion("line1_end =", value, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndNotEqualTo(BigDecimal value) {
            addCriterion("line1_end <>", value, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndGreaterThan(BigDecimal value) {
            addCriterion("line1_end >", value, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line1_end >=", value, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndLessThan(BigDecimal value) {
            addCriterion("line1_end <", value, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line1_end <=", value, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndIsNull() {
            orCriterion("line1_end is null");
            return (Criteria) this;
        }

        public Criteria orLine1EndIsNotNull() {
            orCriterion("line1_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine1EndEqualTo(BigDecimal value) {
            orCriterion("line1_end =", value, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndNotEqualTo(BigDecimal value) {
            orCriterion("line1_end <>", value, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndGreaterThan(BigDecimal value) {
            orCriterion("line1_end >", value, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line1_end >=", value, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndLessThan(BigDecimal value) {
            orCriterion("line1_end <", value, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line1_end <=", value, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndIn(List<BigDecimal> values) {
            addCriterion("line1_end in", values, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndNotIn(List<BigDecimal> values) {
            addCriterion("line1_end not in", values, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line1_end between", value1, value2, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine1EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line1_end not between", value1, value2, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndIn(List<BigDecimal> values) {
            orCriterion("line1_end in", values, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndNotIn(List<BigDecimal> values) {
            orCriterion("line1_end not in", values, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line1_end between", value1, value2, "line1End");
            return (Criteria) this;
        }

        public Criteria orLine1EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line1_end not between", value1, value2, "line1End");
            return (Criteria) this;
        }

        public Criteria andLine2StartIsNull() {
            addCriterion("line2_start is null");
            return (Criteria) this;
        }

        public Criteria andLine2StartIsNotNull() {
            addCriterion("line2_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine2StartEqualTo(BigDecimal value) {
            addCriterion("line2_start =", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartNotEqualTo(BigDecimal value) {
            addCriterion("line2_start <>", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartGreaterThan(BigDecimal value) {
            addCriterion("line2_start >", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line2_start >=", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartLessThan(BigDecimal value) {
            addCriterion("line2_start <", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line2_start <=", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartIsNull() {
            orCriterion("line2_start is null");
            return (Criteria) this;
        }

        public Criteria orLine2StartIsNotNull() {
            orCriterion("line2_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine2StartEqualTo(BigDecimal value) {
            orCriterion("line2_start =", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartNotEqualTo(BigDecimal value) {
            orCriterion("line2_start <>", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartGreaterThan(BigDecimal value) {
            orCriterion("line2_start >", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line2_start >=", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartLessThan(BigDecimal value) {
            orCriterion("line2_start <", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line2_start <=", value, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartIn(List<BigDecimal> values) {
            addCriterion("line2_start in", values, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartNotIn(List<BigDecimal> values) {
            addCriterion("line2_start not in", values, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line2_start between", value1, value2, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line2_start not between", value1, value2, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartIn(List<BigDecimal> values) {
            orCriterion("line2_start in", values, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartNotIn(List<BigDecimal> values) {
            orCriterion("line2_start not in", values, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line2_start between", value1, value2, "line2Start");
            return (Criteria) this;
        }

        public Criteria orLine2StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line2_start not between", value1, value2, "line2Start");
            return (Criteria) this;
        }

        public Criteria andLine2EndIsNull() {
            addCriterion("line2_end is null");
            return (Criteria) this;
        }

        public Criteria andLine2EndIsNotNull() {
            addCriterion("line2_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine2EndEqualTo(BigDecimal value) {
            addCriterion("line2_end =", value, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndNotEqualTo(BigDecimal value) {
            addCriterion("line2_end <>", value, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndGreaterThan(BigDecimal value) {
            addCriterion("line2_end >", value, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line2_end >=", value, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndLessThan(BigDecimal value) {
            addCriterion("line2_end <", value, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line2_end <=", value, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndIsNull() {
            orCriterion("line2_end is null");
            return (Criteria) this;
        }

        public Criteria orLine2EndIsNotNull() {
            orCriterion("line2_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine2EndEqualTo(BigDecimal value) {
            orCriterion("line2_end =", value, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndNotEqualTo(BigDecimal value) {
            orCriterion("line2_end <>", value, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndGreaterThan(BigDecimal value) {
            orCriterion("line2_end >", value, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line2_end >=", value, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndLessThan(BigDecimal value) {
            orCriterion("line2_end <", value, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line2_end <=", value, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndIn(List<BigDecimal> values) {
            addCriterion("line2_end in", values, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndNotIn(List<BigDecimal> values) {
            addCriterion("line2_end not in", values, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line2_end between", value1, value2, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine2EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line2_end not between", value1, value2, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndIn(List<BigDecimal> values) {
            orCriterion("line2_end in", values, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndNotIn(List<BigDecimal> values) {
            orCriterion("line2_end not in", values, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line2_end between", value1, value2, "line2End");
            return (Criteria) this;
        }

        public Criteria orLine2EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line2_end not between", value1, value2, "line2End");
            return (Criteria) this;
        }

        public Criteria andLine3StartIsNull() {
            addCriterion("line3_start is null");
            return (Criteria) this;
        }

        public Criteria andLine3StartIsNotNull() {
            addCriterion("line3_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine3StartEqualTo(BigDecimal value) {
            addCriterion("line3_start =", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartNotEqualTo(BigDecimal value) {
            addCriterion("line3_start <>", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartGreaterThan(BigDecimal value) {
            addCriterion("line3_start >", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line3_start >=", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartLessThan(BigDecimal value) {
            addCriterion("line3_start <", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line3_start <=", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartIsNull() {
            orCriterion("line3_start is null");
            return (Criteria) this;
        }

        public Criteria orLine3StartIsNotNull() {
            orCriterion("line3_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine3StartEqualTo(BigDecimal value) {
            orCriterion("line3_start =", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartNotEqualTo(BigDecimal value) {
            orCriterion("line3_start <>", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartGreaterThan(BigDecimal value) {
            orCriterion("line3_start >", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line3_start >=", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartLessThan(BigDecimal value) {
            orCriterion("line3_start <", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line3_start <=", value, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartIn(List<BigDecimal> values) {
            addCriterion("line3_start in", values, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartNotIn(List<BigDecimal> values) {
            addCriterion("line3_start not in", values, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line3_start between", value1, value2, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line3_start not between", value1, value2, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartIn(List<BigDecimal> values) {
            orCriterion("line3_start in", values, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartNotIn(List<BigDecimal> values) {
            orCriterion("line3_start not in", values, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line3_start between", value1, value2, "line3Start");
            return (Criteria) this;
        }

        public Criteria orLine3StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line3_start not between", value1, value2, "line3Start");
            return (Criteria) this;
        }

        public Criteria andLine3EndIsNull() {
            addCriterion("line3_end is null");
            return (Criteria) this;
        }

        public Criteria andLine3EndIsNotNull() {
            addCriterion("line3_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine3EndEqualTo(BigDecimal value) {
            addCriterion("line3_end =", value, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndNotEqualTo(BigDecimal value) {
            addCriterion("line3_end <>", value, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndGreaterThan(BigDecimal value) {
            addCriterion("line3_end >", value, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line3_end >=", value, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndLessThan(BigDecimal value) {
            addCriterion("line3_end <", value, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line3_end <=", value, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndIsNull() {
            orCriterion("line3_end is null");
            return (Criteria) this;
        }

        public Criteria orLine3EndIsNotNull() {
            orCriterion("line3_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine3EndEqualTo(BigDecimal value) {
            orCriterion("line3_end =", value, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndNotEqualTo(BigDecimal value) {
            orCriterion("line3_end <>", value, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndGreaterThan(BigDecimal value) {
            orCriterion("line3_end >", value, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line3_end >=", value, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndLessThan(BigDecimal value) {
            orCriterion("line3_end <", value, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line3_end <=", value, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndIn(List<BigDecimal> values) {
            addCriterion("line3_end in", values, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndNotIn(List<BigDecimal> values) {
            addCriterion("line3_end not in", values, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line3_end between", value1, value2, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine3EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line3_end not between", value1, value2, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndIn(List<BigDecimal> values) {
            orCriterion("line3_end in", values, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndNotIn(List<BigDecimal> values) {
            orCriterion("line3_end not in", values, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line3_end between", value1, value2, "line3End");
            return (Criteria) this;
        }

        public Criteria orLine3EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line3_end not between", value1, value2, "line3End");
            return (Criteria) this;
        }

        public Criteria andLine4StartIsNull() {
            addCriterion("line4_start is null");
            return (Criteria) this;
        }

        public Criteria andLine4StartIsNotNull() {
            addCriterion("line4_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine4StartEqualTo(BigDecimal value) {
            addCriterion("line4_start =", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartNotEqualTo(BigDecimal value) {
            addCriterion("line4_start <>", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartGreaterThan(BigDecimal value) {
            addCriterion("line4_start >", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line4_start >=", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartLessThan(BigDecimal value) {
            addCriterion("line4_start <", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line4_start <=", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartIsNull() {
            orCriterion("line4_start is null");
            return (Criteria) this;
        }

        public Criteria orLine4StartIsNotNull() {
            orCriterion("line4_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine4StartEqualTo(BigDecimal value) {
            orCriterion("line4_start =", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartNotEqualTo(BigDecimal value) {
            orCriterion("line4_start <>", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartGreaterThan(BigDecimal value) {
            orCriterion("line4_start >", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line4_start >=", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartLessThan(BigDecimal value) {
            orCriterion("line4_start <", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line4_start <=", value, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartIn(List<BigDecimal> values) {
            addCriterion("line4_start in", values, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartNotIn(List<BigDecimal> values) {
            addCriterion("line4_start not in", values, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line4_start between", value1, value2, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line4_start not between", value1, value2, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartIn(List<BigDecimal> values) {
            orCriterion("line4_start in", values, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartNotIn(List<BigDecimal> values) {
            orCriterion("line4_start not in", values, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line4_start between", value1, value2, "line4Start");
            return (Criteria) this;
        }

        public Criteria orLine4StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line4_start not between", value1, value2, "line4Start");
            return (Criteria) this;
        }

        public Criteria andLine4EndIsNull() {
            addCriterion("line4_end is null");
            return (Criteria) this;
        }

        public Criteria andLine4EndIsNotNull() {
            addCriterion("line4_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine4EndEqualTo(BigDecimal value) {
            addCriterion("line4_end =", value, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndNotEqualTo(BigDecimal value) {
            addCriterion("line4_end <>", value, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndGreaterThan(BigDecimal value) {
            addCriterion("line4_end >", value, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line4_end >=", value, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndLessThan(BigDecimal value) {
            addCriterion("line4_end <", value, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line4_end <=", value, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndIsNull() {
            orCriterion("line4_end is null");
            return (Criteria) this;
        }

        public Criteria orLine4EndIsNotNull() {
            orCriterion("line4_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine4EndEqualTo(BigDecimal value) {
            orCriterion("line4_end =", value, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndNotEqualTo(BigDecimal value) {
            orCriterion("line4_end <>", value, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndGreaterThan(BigDecimal value) {
            orCriterion("line4_end >", value, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line4_end >=", value, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndLessThan(BigDecimal value) {
            orCriterion("line4_end <", value, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line4_end <=", value, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndIn(List<BigDecimal> values) {
            addCriterion("line4_end in", values, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndNotIn(List<BigDecimal> values) {
            addCriterion("line4_end not in", values, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line4_end between", value1, value2, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine4EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line4_end not between", value1, value2, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndIn(List<BigDecimal> values) {
            orCriterion("line4_end in", values, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndNotIn(List<BigDecimal> values) {
            orCriterion("line4_end not in", values, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line4_end between", value1, value2, "line4End");
            return (Criteria) this;
        }

        public Criteria orLine4EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line4_end not between", value1, value2, "line4End");
            return (Criteria) this;
        }

        public Criteria andLine5StartIsNull() {
            addCriterion("line5_start is null");
            return (Criteria) this;
        }

        public Criteria andLine5StartIsNotNull() {
            addCriterion("line5_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine5StartEqualTo(BigDecimal value) {
            addCriterion("line5_start =", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartNotEqualTo(BigDecimal value) {
            addCriterion("line5_start <>", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartGreaterThan(BigDecimal value) {
            addCriterion("line5_start >", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line5_start >=", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartLessThan(BigDecimal value) {
            addCriterion("line5_start <", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line5_start <=", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartIsNull() {
            orCriterion("line5_start is null");
            return (Criteria) this;
        }

        public Criteria orLine5StartIsNotNull() {
            orCriterion("line5_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine5StartEqualTo(BigDecimal value) {
            orCriterion("line5_start =", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartNotEqualTo(BigDecimal value) {
            orCriterion("line5_start <>", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartGreaterThan(BigDecimal value) {
            orCriterion("line5_start >", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line5_start >=", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartLessThan(BigDecimal value) {
            orCriterion("line5_start <", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line5_start <=", value, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartIn(List<BigDecimal> values) {
            addCriterion("line5_start in", values, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartNotIn(List<BigDecimal> values) {
            addCriterion("line5_start not in", values, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line5_start between", value1, value2, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line5_start not between", value1, value2, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartIn(List<BigDecimal> values) {
            orCriterion("line5_start in", values, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartNotIn(List<BigDecimal> values) {
            orCriterion("line5_start not in", values, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line5_start between", value1, value2, "line5Start");
            return (Criteria) this;
        }

        public Criteria orLine5StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line5_start not between", value1, value2, "line5Start");
            return (Criteria) this;
        }

        public Criteria andLine5EndIsNull() {
            addCriterion("line5_end is null");
            return (Criteria) this;
        }

        public Criteria andLine5EndIsNotNull() {
            addCriterion("line5_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine5EndEqualTo(BigDecimal value) {
            addCriterion("line5_end =", value, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndNotEqualTo(BigDecimal value) {
            addCriterion("line5_end <>", value, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndGreaterThan(BigDecimal value) {
            addCriterion("line5_end >", value, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line5_end >=", value, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndLessThan(BigDecimal value) {
            addCriterion("line5_end <", value, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line5_end <=", value, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndIsNull() {
            orCriterion("line5_end is null");
            return (Criteria) this;
        }

        public Criteria orLine5EndIsNotNull() {
            orCriterion("line5_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine5EndEqualTo(BigDecimal value) {
            orCriterion("line5_end =", value, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndNotEqualTo(BigDecimal value) {
            orCriterion("line5_end <>", value, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndGreaterThan(BigDecimal value) {
            orCriterion("line5_end >", value, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line5_end >=", value, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndLessThan(BigDecimal value) {
            orCriterion("line5_end <", value, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line5_end <=", value, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndIn(List<BigDecimal> values) {
            addCriterion("line5_end in", values, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndNotIn(List<BigDecimal> values) {
            addCriterion("line5_end not in", values, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line5_end between", value1, value2, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine5EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line5_end not between", value1, value2, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndIn(List<BigDecimal> values) {
            orCriterion("line5_end in", values, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndNotIn(List<BigDecimal> values) {
            orCriterion("line5_end not in", values, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line5_end between", value1, value2, "line5End");
            return (Criteria) this;
        }

        public Criteria orLine5EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line5_end not between", value1, value2, "line5End");
            return (Criteria) this;
        }

        public Criteria andLine6StartIsNull() {
            addCriterion("line6_start is null");
            return (Criteria) this;
        }

        public Criteria andLine6StartIsNotNull() {
            addCriterion("line6_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine6StartEqualTo(BigDecimal value) {
            addCriterion("line6_start =", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartNotEqualTo(BigDecimal value) {
            addCriterion("line6_start <>", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartGreaterThan(BigDecimal value) {
            addCriterion("line6_start >", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line6_start >=", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartLessThan(BigDecimal value) {
            addCriterion("line6_start <", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line6_start <=", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartIsNull() {
            orCriterion("line6_start is null");
            return (Criteria) this;
        }

        public Criteria orLine6StartIsNotNull() {
            orCriterion("line6_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine6StartEqualTo(BigDecimal value) {
            orCriterion("line6_start =", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartNotEqualTo(BigDecimal value) {
            orCriterion("line6_start <>", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartGreaterThan(BigDecimal value) {
            orCriterion("line6_start >", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line6_start >=", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartLessThan(BigDecimal value) {
            orCriterion("line6_start <", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line6_start <=", value, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartIn(List<BigDecimal> values) {
            addCriterion("line6_start in", values, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartNotIn(List<BigDecimal> values) {
            addCriterion("line6_start not in", values, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line6_start between", value1, value2, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line6_start not between", value1, value2, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartIn(List<BigDecimal> values) {
            orCriterion("line6_start in", values, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartNotIn(List<BigDecimal> values) {
            orCriterion("line6_start not in", values, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line6_start between", value1, value2, "line6Start");
            return (Criteria) this;
        }

        public Criteria orLine6StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line6_start not between", value1, value2, "line6Start");
            return (Criteria) this;
        }

        public Criteria andLine6EndIsNull() {
            addCriterion("line6_end is null");
            return (Criteria) this;
        }

        public Criteria andLine6EndIsNotNull() {
            addCriterion("line6_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine6EndEqualTo(BigDecimal value) {
            addCriterion("line6_end =", value, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndNotEqualTo(BigDecimal value) {
            addCriterion("line6_end <>", value, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndGreaterThan(BigDecimal value) {
            addCriterion("line6_end >", value, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line6_end >=", value, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndLessThan(BigDecimal value) {
            addCriterion("line6_end <", value, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line6_end <=", value, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndIsNull() {
            orCriterion("line6_end is null");
            return (Criteria) this;
        }

        public Criteria orLine6EndIsNotNull() {
            orCriterion("line6_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine6EndEqualTo(BigDecimal value) {
            orCriterion("line6_end =", value, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndNotEqualTo(BigDecimal value) {
            orCriterion("line6_end <>", value, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndGreaterThan(BigDecimal value) {
            orCriterion("line6_end >", value, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line6_end >=", value, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndLessThan(BigDecimal value) {
            orCriterion("line6_end <", value, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line6_end <=", value, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndIn(List<BigDecimal> values) {
            addCriterion("line6_end in", values, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndNotIn(List<BigDecimal> values) {
            addCriterion("line6_end not in", values, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line6_end between", value1, value2, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine6EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line6_end not between", value1, value2, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndIn(List<BigDecimal> values) {
            orCriterion("line6_end in", values, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndNotIn(List<BigDecimal> values) {
            orCriterion("line6_end not in", values, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line6_end between", value1, value2, "line6End");
            return (Criteria) this;
        }

        public Criteria orLine6EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line6_end not between", value1, value2, "line6End");
            return (Criteria) this;
        }

        public Criteria andLine7StartIsNull() {
            addCriterion("line7_start is null");
            return (Criteria) this;
        }

        public Criteria andLine7StartIsNotNull() {
            addCriterion("line7_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine7StartEqualTo(BigDecimal value) {
            addCriterion("line7_start =", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartNotEqualTo(BigDecimal value) {
            addCriterion("line7_start <>", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartGreaterThan(BigDecimal value) {
            addCriterion("line7_start >", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line7_start >=", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartLessThan(BigDecimal value) {
            addCriterion("line7_start <", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line7_start <=", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartIsNull() {
            orCriterion("line7_start is null");
            return (Criteria) this;
        }

        public Criteria orLine7StartIsNotNull() {
            orCriterion("line7_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine7StartEqualTo(BigDecimal value) {
            orCriterion("line7_start =", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartNotEqualTo(BigDecimal value) {
            orCriterion("line7_start <>", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartGreaterThan(BigDecimal value) {
            orCriterion("line7_start >", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line7_start >=", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartLessThan(BigDecimal value) {
            orCriterion("line7_start <", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line7_start <=", value, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartIn(List<BigDecimal> values) {
            addCriterion("line7_start in", values, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartNotIn(List<BigDecimal> values) {
            addCriterion("line7_start not in", values, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line7_start between", value1, value2, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line7_start not between", value1, value2, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartIn(List<BigDecimal> values) {
            orCriterion("line7_start in", values, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartNotIn(List<BigDecimal> values) {
            orCriterion("line7_start not in", values, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line7_start between", value1, value2, "line7Start");
            return (Criteria) this;
        }

        public Criteria orLine7StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line7_start not between", value1, value2, "line7Start");
            return (Criteria) this;
        }

        public Criteria andLine7EndIsNull() {
            addCriterion("line7_end is null");
            return (Criteria) this;
        }

        public Criteria andLine7EndIsNotNull() {
            addCriterion("line7_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine7EndEqualTo(BigDecimal value) {
            addCriterion("line7_end =", value, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndNotEqualTo(BigDecimal value) {
            addCriterion("line7_end <>", value, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndGreaterThan(BigDecimal value) {
            addCriterion("line7_end >", value, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line7_end >=", value, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndLessThan(BigDecimal value) {
            addCriterion("line7_end <", value, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line7_end <=", value, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndIsNull() {
            orCriterion("line7_end is null");
            return (Criteria) this;
        }

        public Criteria orLine7EndIsNotNull() {
            orCriterion("line7_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine7EndEqualTo(BigDecimal value) {
            orCriterion("line7_end =", value, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndNotEqualTo(BigDecimal value) {
            orCriterion("line7_end <>", value, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndGreaterThan(BigDecimal value) {
            orCriterion("line7_end >", value, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line7_end >=", value, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndLessThan(BigDecimal value) {
            orCriterion("line7_end <", value, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line7_end <=", value, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndIn(List<BigDecimal> values) {
            addCriterion("line7_end in", values, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndNotIn(List<BigDecimal> values) {
            addCriterion("line7_end not in", values, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line7_end between", value1, value2, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine7EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line7_end not between", value1, value2, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndIn(List<BigDecimal> values) {
            orCriterion("line7_end in", values, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndNotIn(List<BigDecimal> values) {
            orCriterion("line7_end not in", values, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line7_end between", value1, value2, "line7End");
            return (Criteria) this;
        }

        public Criteria orLine7EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line7_end not between", value1, value2, "line7End");
            return (Criteria) this;
        }

        public Criteria andLine8StartIsNull() {
            addCriterion("line8_start is null");
            return (Criteria) this;
        }

        public Criteria andLine8StartIsNotNull() {
            addCriterion("line8_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine8StartEqualTo(BigDecimal value) {
            addCriterion("line8_start =", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartNotEqualTo(BigDecimal value) {
            addCriterion("line8_start <>", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartGreaterThan(BigDecimal value) {
            addCriterion("line8_start >", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line8_start >=", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartLessThan(BigDecimal value) {
            addCriterion("line8_start <", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line8_start <=", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartIsNull() {
            orCriterion("line8_start is null");
            return (Criteria) this;
        }

        public Criteria orLine8StartIsNotNull() {
            orCriterion("line8_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine8StartEqualTo(BigDecimal value) {
            orCriterion("line8_start =", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartNotEqualTo(BigDecimal value) {
            orCriterion("line8_start <>", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartGreaterThan(BigDecimal value) {
            orCriterion("line8_start >", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line8_start >=", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartLessThan(BigDecimal value) {
            orCriterion("line8_start <", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line8_start <=", value, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartIn(List<BigDecimal> values) {
            addCriterion("line8_start in", values, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartNotIn(List<BigDecimal> values) {
            addCriterion("line8_start not in", values, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line8_start between", value1, value2, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line8_start not between", value1, value2, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartIn(List<BigDecimal> values) {
            orCriterion("line8_start in", values, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartNotIn(List<BigDecimal> values) {
            orCriterion("line8_start not in", values, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line8_start between", value1, value2, "line8Start");
            return (Criteria) this;
        }

        public Criteria orLine8StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line8_start not between", value1, value2, "line8Start");
            return (Criteria) this;
        }

        public Criteria andLine8EndIsNull() {
            addCriterion("line8_end is null");
            return (Criteria) this;
        }

        public Criteria andLine8EndIsNotNull() {
            addCriterion("line8_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine8EndEqualTo(BigDecimal value) {
            addCriterion("line8_end =", value, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndNotEqualTo(BigDecimal value) {
            addCriterion("line8_end <>", value, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndGreaterThan(BigDecimal value) {
            addCriterion("line8_end >", value, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line8_end >=", value, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndLessThan(BigDecimal value) {
            addCriterion("line8_end <", value, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line8_end <=", value, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndIsNull() {
            orCriterion("line8_end is null");
            return (Criteria) this;
        }

        public Criteria orLine8EndIsNotNull() {
            orCriterion("line8_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine8EndEqualTo(BigDecimal value) {
            orCriterion("line8_end =", value, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndNotEqualTo(BigDecimal value) {
            orCriterion("line8_end <>", value, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndGreaterThan(BigDecimal value) {
            orCriterion("line8_end >", value, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line8_end >=", value, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndLessThan(BigDecimal value) {
            orCriterion("line8_end <", value, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line8_end <=", value, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndIn(List<BigDecimal> values) {
            addCriterion("line8_end in", values, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndNotIn(List<BigDecimal> values) {
            addCriterion("line8_end not in", values, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line8_end between", value1, value2, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine8EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line8_end not between", value1, value2, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndIn(List<BigDecimal> values) {
            orCriterion("line8_end in", values, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndNotIn(List<BigDecimal> values) {
            orCriterion("line8_end not in", values, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line8_end between", value1, value2, "line8End");
            return (Criteria) this;
        }

        public Criteria orLine8EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line8_end not between", value1, value2, "line8End");
            return (Criteria) this;
        }

        public Criteria andLine9StartIsNull() {
            addCriterion("line9_start is null");
            return (Criteria) this;
        }

        public Criteria andLine9StartIsNotNull() {
            addCriterion("line9_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine9StartEqualTo(BigDecimal value) {
            addCriterion("line9_start =", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartNotEqualTo(BigDecimal value) {
            addCriterion("line9_start <>", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartGreaterThan(BigDecimal value) {
            addCriterion("line9_start >", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line9_start >=", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartLessThan(BigDecimal value) {
            addCriterion("line9_start <", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line9_start <=", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartIsNull() {
            orCriterion("line9_start is null");
            return (Criteria) this;
        }

        public Criteria orLine9StartIsNotNull() {
            orCriterion("line9_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine9StartEqualTo(BigDecimal value) {
            orCriterion("line9_start =", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartNotEqualTo(BigDecimal value) {
            orCriterion("line9_start <>", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartGreaterThan(BigDecimal value) {
            orCriterion("line9_start >", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line9_start >=", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartLessThan(BigDecimal value) {
            orCriterion("line9_start <", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line9_start <=", value, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartIn(List<BigDecimal> values) {
            addCriterion("line9_start in", values, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartNotIn(List<BigDecimal> values) {
            addCriterion("line9_start not in", values, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line9_start between", value1, value2, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line9_start not between", value1, value2, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartIn(List<BigDecimal> values) {
            orCriterion("line9_start in", values, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartNotIn(List<BigDecimal> values) {
            orCriterion("line9_start not in", values, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line9_start between", value1, value2, "line9Start");
            return (Criteria) this;
        }

        public Criteria orLine9StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line9_start not between", value1, value2, "line9Start");
            return (Criteria) this;
        }

        public Criteria andLine9EndIsNull() {
            addCriterion("line9_end is null");
            return (Criteria) this;
        }

        public Criteria andLine9EndIsNotNull() {
            addCriterion("line9_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine9EndEqualTo(BigDecimal value) {
            addCriterion("line9_end =", value, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndNotEqualTo(BigDecimal value) {
            addCriterion("line9_end <>", value, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndGreaterThan(BigDecimal value) {
            addCriterion("line9_end >", value, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line9_end >=", value, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndLessThan(BigDecimal value) {
            addCriterion("line9_end <", value, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line9_end <=", value, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndIsNull() {
            orCriterion("line9_end is null");
            return (Criteria) this;
        }

        public Criteria orLine9EndIsNotNull() {
            orCriterion("line9_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine9EndEqualTo(BigDecimal value) {
            orCriterion("line9_end =", value, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndNotEqualTo(BigDecimal value) {
            orCriterion("line9_end <>", value, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndGreaterThan(BigDecimal value) {
            orCriterion("line9_end >", value, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line9_end >=", value, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndLessThan(BigDecimal value) {
            orCriterion("line9_end <", value, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line9_end <=", value, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndIn(List<BigDecimal> values) {
            addCriterion("line9_end in", values, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndNotIn(List<BigDecimal> values) {
            addCriterion("line9_end not in", values, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line9_end between", value1, value2, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine9EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line9_end not between", value1, value2, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndIn(List<BigDecimal> values) {
            orCriterion("line9_end in", values, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndNotIn(List<BigDecimal> values) {
            orCriterion("line9_end not in", values, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line9_end between", value1, value2, "line9End");
            return (Criteria) this;
        }

        public Criteria orLine9EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line9_end not between", value1, value2, "line9End");
            return (Criteria) this;
        }

        public Criteria andLine10StartIsNull() {
            addCriterion("line10_start is null");
            return (Criteria) this;
        }

        public Criteria andLine10StartIsNotNull() {
            addCriterion("line10_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine10StartEqualTo(BigDecimal value) {
            addCriterion("line10_start =", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartNotEqualTo(BigDecimal value) {
            addCriterion("line10_start <>", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartGreaterThan(BigDecimal value) {
            addCriterion("line10_start >", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line10_start >=", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartLessThan(BigDecimal value) {
            addCriterion("line10_start <", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line10_start <=", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartIsNull() {
            orCriterion("line10_start is null");
            return (Criteria) this;
        }

        public Criteria orLine10StartIsNotNull() {
            orCriterion("line10_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine10StartEqualTo(BigDecimal value) {
            orCriterion("line10_start =", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartNotEqualTo(BigDecimal value) {
            orCriterion("line10_start <>", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartGreaterThan(BigDecimal value) {
            orCriterion("line10_start >", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line10_start >=", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartLessThan(BigDecimal value) {
            orCriterion("line10_start <", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line10_start <=", value, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartIn(List<BigDecimal> values) {
            addCriterion("line10_start in", values, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartNotIn(List<BigDecimal> values) {
            addCriterion("line10_start not in", values, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line10_start between", value1, value2, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line10_start not between", value1, value2, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartIn(List<BigDecimal> values) {
            orCriterion("line10_start in", values, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartNotIn(List<BigDecimal> values) {
            orCriterion("line10_start not in", values, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line10_start between", value1, value2, "line10Start");
            return (Criteria) this;
        }

        public Criteria orLine10StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line10_start not between", value1, value2, "line10Start");
            return (Criteria) this;
        }

        public Criteria andLine10EndIsNull() {
            addCriterion("line10_end is null");
            return (Criteria) this;
        }

        public Criteria andLine10EndIsNotNull() {
            addCriterion("line10_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine10EndEqualTo(BigDecimal value) {
            addCriterion("line10_end =", value, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndNotEqualTo(BigDecimal value) {
            addCriterion("line10_end <>", value, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndGreaterThan(BigDecimal value) {
            addCriterion("line10_end >", value, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line10_end >=", value, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndLessThan(BigDecimal value) {
            addCriterion("line10_end <", value, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line10_end <=", value, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndIsNull() {
            orCriterion("line10_end is null");
            return (Criteria) this;
        }

        public Criteria orLine10EndIsNotNull() {
            orCriterion("line10_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine10EndEqualTo(BigDecimal value) {
            orCriterion("line10_end =", value, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndNotEqualTo(BigDecimal value) {
            orCriterion("line10_end <>", value, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndGreaterThan(BigDecimal value) {
            orCriterion("line10_end >", value, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line10_end >=", value, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndLessThan(BigDecimal value) {
            orCriterion("line10_end <", value, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line10_end <=", value, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndIn(List<BigDecimal> values) {
            addCriterion("line10_end in", values, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndNotIn(List<BigDecimal> values) {
            addCriterion("line10_end not in", values, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line10_end between", value1, value2, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine10EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line10_end not between", value1, value2, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndIn(List<BigDecimal> values) {
            orCriterion("line10_end in", values, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndNotIn(List<BigDecimal> values) {
            orCriterion("line10_end not in", values, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line10_end between", value1, value2, "line10End");
            return (Criteria) this;
        }

        public Criteria orLine10EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line10_end not between", value1, value2, "line10End");
            return (Criteria) this;
        }

        public Criteria andLine11StartIsNull() {
            addCriterion("line11_start is null");
            return (Criteria) this;
        }

        public Criteria andLine11StartIsNotNull() {
            addCriterion("line11_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine11StartEqualTo(BigDecimal value) {
            addCriterion("line11_start =", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartNotEqualTo(BigDecimal value) {
            addCriterion("line11_start <>", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartGreaterThan(BigDecimal value) {
            addCriterion("line11_start >", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line11_start >=", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartLessThan(BigDecimal value) {
            addCriterion("line11_start <", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line11_start <=", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartIsNull() {
            orCriterion("line11_start is null");
            return (Criteria) this;
        }

        public Criteria orLine11StartIsNotNull() {
            orCriterion("line11_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine11StartEqualTo(BigDecimal value) {
            orCriterion("line11_start =", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartNotEqualTo(BigDecimal value) {
            orCriterion("line11_start <>", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartGreaterThan(BigDecimal value) {
            orCriterion("line11_start >", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line11_start >=", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartLessThan(BigDecimal value) {
            orCriterion("line11_start <", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line11_start <=", value, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartIn(List<BigDecimal> values) {
            addCriterion("line11_start in", values, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartNotIn(List<BigDecimal> values) {
            addCriterion("line11_start not in", values, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line11_start between", value1, value2, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line11_start not between", value1, value2, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartIn(List<BigDecimal> values) {
            orCriterion("line11_start in", values, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartNotIn(List<BigDecimal> values) {
            orCriterion("line11_start not in", values, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line11_start between", value1, value2, "line11Start");
            return (Criteria) this;
        }

        public Criteria orLine11StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line11_start not between", value1, value2, "line11Start");
            return (Criteria) this;
        }

        public Criteria andLine11EndIsNull() {
            addCriterion("line11_end is null");
            return (Criteria) this;
        }

        public Criteria andLine11EndIsNotNull() {
            addCriterion("line11_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine11EndEqualTo(BigDecimal value) {
            addCriterion("line11_end =", value, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndNotEqualTo(BigDecimal value) {
            addCriterion("line11_end <>", value, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndGreaterThan(BigDecimal value) {
            addCriterion("line11_end >", value, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line11_end >=", value, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndLessThan(BigDecimal value) {
            addCriterion("line11_end <", value, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line11_end <=", value, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndIsNull() {
            orCriterion("line11_end is null");
            return (Criteria) this;
        }

        public Criteria orLine11EndIsNotNull() {
            orCriterion("line11_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine11EndEqualTo(BigDecimal value) {
            orCriterion("line11_end =", value, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndNotEqualTo(BigDecimal value) {
            orCriterion("line11_end <>", value, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndGreaterThan(BigDecimal value) {
            orCriterion("line11_end >", value, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line11_end >=", value, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndLessThan(BigDecimal value) {
            orCriterion("line11_end <", value, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line11_end <=", value, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndIn(List<BigDecimal> values) {
            addCriterion("line11_end in", values, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndNotIn(List<BigDecimal> values) {
            addCriterion("line11_end not in", values, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line11_end between", value1, value2, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine11EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line11_end not between", value1, value2, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndIn(List<BigDecimal> values) {
            orCriterion("line11_end in", values, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndNotIn(List<BigDecimal> values) {
            orCriterion("line11_end not in", values, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line11_end between", value1, value2, "line11End");
            return (Criteria) this;
        }

        public Criteria orLine11EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line11_end not between", value1, value2, "line11End");
            return (Criteria) this;
        }

        public Criteria andLine12StartIsNull() {
            addCriterion("line12_start is null");
            return (Criteria) this;
        }

        public Criteria andLine12StartIsNotNull() {
            addCriterion("line12_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine12StartEqualTo(BigDecimal value) {
            addCriterion("line12_start =", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartNotEqualTo(BigDecimal value) {
            addCriterion("line12_start <>", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartGreaterThan(BigDecimal value) {
            addCriterion("line12_start >", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line12_start >=", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartLessThan(BigDecimal value) {
            addCriterion("line12_start <", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line12_start <=", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartIsNull() {
            orCriterion("line12_start is null");
            return (Criteria) this;
        }

        public Criteria orLine12StartIsNotNull() {
            orCriterion("line12_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine12StartEqualTo(BigDecimal value) {
            orCriterion("line12_start =", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartNotEqualTo(BigDecimal value) {
            orCriterion("line12_start <>", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartGreaterThan(BigDecimal value) {
            orCriterion("line12_start >", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line12_start >=", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartLessThan(BigDecimal value) {
            orCriterion("line12_start <", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line12_start <=", value, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartIn(List<BigDecimal> values) {
            addCriterion("line12_start in", values, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartNotIn(List<BigDecimal> values) {
            addCriterion("line12_start not in", values, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line12_start between", value1, value2, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line12_start not between", value1, value2, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartIn(List<BigDecimal> values) {
            orCriterion("line12_start in", values, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartNotIn(List<BigDecimal> values) {
            orCriterion("line12_start not in", values, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line12_start between", value1, value2, "line12Start");
            return (Criteria) this;
        }

        public Criteria orLine12StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line12_start not between", value1, value2, "line12Start");
            return (Criteria) this;
        }

        public Criteria andLine12EndIsNull() {
            addCriterion("line12_end is null");
            return (Criteria) this;
        }

        public Criteria andLine12EndIsNotNull() {
            addCriterion("line12_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine12EndEqualTo(BigDecimal value) {
            addCriterion("line12_end =", value, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndNotEqualTo(BigDecimal value) {
            addCriterion("line12_end <>", value, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndGreaterThan(BigDecimal value) {
            addCriterion("line12_end >", value, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line12_end >=", value, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndLessThan(BigDecimal value) {
            addCriterion("line12_end <", value, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line12_end <=", value, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndIsNull() {
            orCriterion("line12_end is null");
            return (Criteria) this;
        }

        public Criteria orLine12EndIsNotNull() {
            orCriterion("line12_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine12EndEqualTo(BigDecimal value) {
            orCriterion("line12_end =", value, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndNotEqualTo(BigDecimal value) {
            orCriterion("line12_end <>", value, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndGreaterThan(BigDecimal value) {
            orCriterion("line12_end >", value, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line12_end >=", value, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndLessThan(BigDecimal value) {
            orCriterion("line12_end <", value, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line12_end <=", value, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndIn(List<BigDecimal> values) {
            addCriterion("line12_end in", values, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndNotIn(List<BigDecimal> values) {
            addCriterion("line12_end not in", values, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line12_end between", value1, value2, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine12EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line12_end not between", value1, value2, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndIn(List<BigDecimal> values) {
            orCriterion("line12_end in", values, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndNotIn(List<BigDecimal> values) {
            orCriterion("line12_end not in", values, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line12_end between", value1, value2, "line12End");
            return (Criteria) this;
        }

        public Criteria orLine12EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line12_end not between", value1, value2, "line12End");
            return (Criteria) this;
        }

        public Criteria andLine13StartIsNull() {
            addCriterion("line13_start is null");
            return (Criteria) this;
        }

        public Criteria andLine13StartIsNotNull() {
            addCriterion("line13_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine13StartEqualTo(BigDecimal value) {
            addCriterion("line13_start =", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartNotEqualTo(BigDecimal value) {
            addCriterion("line13_start <>", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartGreaterThan(BigDecimal value) {
            addCriterion("line13_start >", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line13_start >=", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartLessThan(BigDecimal value) {
            addCriterion("line13_start <", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line13_start <=", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartIsNull() {
            orCriterion("line13_start is null");
            return (Criteria) this;
        }

        public Criteria orLine13StartIsNotNull() {
            orCriterion("line13_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine13StartEqualTo(BigDecimal value) {
            orCriterion("line13_start =", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartNotEqualTo(BigDecimal value) {
            orCriterion("line13_start <>", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartGreaterThan(BigDecimal value) {
            orCriterion("line13_start >", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line13_start >=", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartLessThan(BigDecimal value) {
            orCriterion("line13_start <", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line13_start <=", value, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartIn(List<BigDecimal> values) {
            addCriterion("line13_start in", values, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartNotIn(List<BigDecimal> values) {
            addCriterion("line13_start not in", values, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line13_start between", value1, value2, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line13_start not between", value1, value2, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartIn(List<BigDecimal> values) {
            orCriterion("line13_start in", values, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartNotIn(List<BigDecimal> values) {
            orCriterion("line13_start not in", values, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line13_start between", value1, value2, "line13Start");
            return (Criteria) this;
        }

        public Criteria orLine13StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line13_start not between", value1, value2, "line13Start");
            return (Criteria) this;
        }

        public Criteria andLine13EndIsNull() {
            addCriterion("line13_end is null");
            return (Criteria) this;
        }

        public Criteria andLine13EndIsNotNull() {
            addCriterion("line13_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine13EndEqualTo(BigDecimal value) {
            addCriterion("line13_end =", value, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndNotEqualTo(BigDecimal value) {
            addCriterion("line13_end <>", value, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndGreaterThan(BigDecimal value) {
            addCriterion("line13_end >", value, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line13_end >=", value, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndLessThan(BigDecimal value) {
            addCriterion("line13_end <", value, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line13_end <=", value, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndIsNull() {
            orCriterion("line13_end is null");
            return (Criteria) this;
        }

        public Criteria orLine13EndIsNotNull() {
            orCriterion("line13_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine13EndEqualTo(BigDecimal value) {
            orCriterion("line13_end =", value, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndNotEqualTo(BigDecimal value) {
            orCriterion("line13_end <>", value, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndGreaterThan(BigDecimal value) {
            orCriterion("line13_end >", value, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line13_end >=", value, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndLessThan(BigDecimal value) {
            orCriterion("line13_end <", value, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line13_end <=", value, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndIn(List<BigDecimal> values) {
            addCriterion("line13_end in", values, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndNotIn(List<BigDecimal> values) {
            addCriterion("line13_end not in", values, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line13_end between", value1, value2, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine13EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line13_end not between", value1, value2, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndIn(List<BigDecimal> values) {
            orCriterion("line13_end in", values, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndNotIn(List<BigDecimal> values) {
            orCriterion("line13_end not in", values, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line13_end between", value1, value2, "line13End");
            return (Criteria) this;
        }

        public Criteria orLine13EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line13_end not between", value1, value2, "line13End");
            return (Criteria) this;
        }

        public Criteria andLine14StartIsNull() {
            addCriterion("line14_start is null");
            return (Criteria) this;
        }

        public Criteria andLine14StartIsNotNull() {
            addCriterion("line14_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine14StartEqualTo(BigDecimal value) {
            addCriterion("line14_start =", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartNotEqualTo(BigDecimal value) {
            addCriterion("line14_start <>", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartGreaterThan(BigDecimal value) {
            addCriterion("line14_start >", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line14_start >=", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartLessThan(BigDecimal value) {
            addCriterion("line14_start <", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line14_start <=", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartIsNull() {
            orCriterion("line14_start is null");
            return (Criteria) this;
        }

        public Criteria orLine14StartIsNotNull() {
            orCriterion("line14_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine14StartEqualTo(BigDecimal value) {
            orCriterion("line14_start =", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartNotEqualTo(BigDecimal value) {
            orCriterion("line14_start <>", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartGreaterThan(BigDecimal value) {
            orCriterion("line14_start >", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line14_start >=", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartLessThan(BigDecimal value) {
            orCriterion("line14_start <", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line14_start <=", value, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartIn(List<BigDecimal> values) {
            addCriterion("line14_start in", values, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartNotIn(List<BigDecimal> values) {
            addCriterion("line14_start not in", values, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line14_start between", value1, value2, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line14_start not between", value1, value2, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartIn(List<BigDecimal> values) {
            orCriterion("line14_start in", values, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartNotIn(List<BigDecimal> values) {
            orCriterion("line14_start not in", values, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line14_start between", value1, value2, "line14Start");
            return (Criteria) this;
        }

        public Criteria orLine14StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line14_start not between", value1, value2, "line14Start");
            return (Criteria) this;
        }

        public Criteria andLine14EndIsNull() {
            addCriterion("line14_end is null");
            return (Criteria) this;
        }

        public Criteria andLine14EndIsNotNull() {
            addCriterion("line14_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine14EndEqualTo(BigDecimal value) {
            addCriterion("line14_end =", value, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndNotEqualTo(BigDecimal value) {
            addCriterion("line14_end <>", value, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndGreaterThan(BigDecimal value) {
            addCriterion("line14_end >", value, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line14_end >=", value, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndLessThan(BigDecimal value) {
            addCriterion("line14_end <", value, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line14_end <=", value, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndIsNull() {
            orCriterion("line14_end is null");
            return (Criteria) this;
        }

        public Criteria orLine14EndIsNotNull() {
            orCriterion("line14_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine14EndEqualTo(BigDecimal value) {
            orCriterion("line14_end =", value, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndNotEqualTo(BigDecimal value) {
            orCriterion("line14_end <>", value, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndGreaterThan(BigDecimal value) {
            orCriterion("line14_end >", value, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line14_end >=", value, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndLessThan(BigDecimal value) {
            orCriterion("line14_end <", value, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line14_end <=", value, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndIn(List<BigDecimal> values) {
            addCriterion("line14_end in", values, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndNotIn(List<BigDecimal> values) {
            addCriterion("line14_end not in", values, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line14_end between", value1, value2, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine14EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line14_end not between", value1, value2, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndIn(List<BigDecimal> values) {
            orCriterion("line14_end in", values, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndNotIn(List<BigDecimal> values) {
            orCriterion("line14_end not in", values, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line14_end between", value1, value2, "line14End");
            return (Criteria) this;
        }

        public Criteria orLine14EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line14_end not between", value1, value2, "line14End");
            return (Criteria) this;
        }

        public Criteria andLine15StartIsNull() {
            addCriterion("line15_start is null");
            return (Criteria) this;
        }

        public Criteria andLine15StartIsNotNull() {
            addCriterion("line15_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine15StartEqualTo(BigDecimal value) {
            addCriterion("line15_start =", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartNotEqualTo(BigDecimal value) {
            addCriterion("line15_start <>", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartGreaterThan(BigDecimal value) {
            addCriterion("line15_start >", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line15_start >=", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartLessThan(BigDecimal value) {
            addCriterion("line15_start <", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line15_start <=", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartIsNull() {
            orCriterion("line15_start is null");
            return (Criteria) this;
        }

        public Criteria orLine15StartIsNotNull() {
            orCriterion("line15_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine15StartEqualTo(BigDecimal value) {
            orCriterion("line15_start =", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartNotEqualTo(BigDecimal value) {
            orCriterion("line15_start <>", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartGreaterThan(BigDecimal value) {
            orCriterion("line15_start >", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line15_start >=", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartLessThan(BigDecimal value) {
            orCriterion("line15_start <", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line15_start <=", value, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartIn(List<BigDecimal> values) {
            addCriterion("line15_start in", values, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartNotIn(List<BigDecimal> values) {
            addCriterion("line15_start not in", values, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line15_start between", value1, value2, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line15_start not between", value1, value2, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartIn(List<BigDecimal> values) {
            orCriterion("line15_start in", values, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartNotIn(List<BigDecimal> values) {
            orCriterion("line15_start not in", values, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line15_start between", value1, value2, "line15Start");
            return (Criteria) this;
        }

        public Criteria orLine15StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line15_start not between", value1, value2, "line15Start");
            return (Criteria) this;
        }

        public Criteria andLine15EndIsNull() {
            addCriterion("line15_end is null");
            return (Criteria) this;
        }

        public Criteria andLine15EndIsNotNull() {
            addCriterion("line15_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine15EndEqualTo(BigDecimal value) {
            addCriterion("line15_end =", value, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndNotEqualTo(BigDecimal value) {
            addCriterion("line15_end <>", value, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndGreaterThan(BigDecimal value) {
            addCriterion("line15_end >", value, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line15_end >=", value, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndLessThan(BigDecimal value) {
            addCriterion("line15_end <", value, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line15_end <=", value, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndIsNull() {
            orCriterion("line15_end is null");
            return (Criteria) this;
        }

        public Criteria orLine15EndIsNotNull() {
            orCriterion("line15_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine15EndEqualTo(BigDecimal value) {
            orCriterion("line15_end =", value, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndNotEqualTo(BigDecimal value) {
            orCriterion("line15_end <>", value, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndGreaterThan(BigDecimal value) {
            orCriterion("line15_end >", value, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line15_end >=", value, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndLessThan(BigDecimal value) {
            orCriterion("line15_end <", value, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line15_end <=", value, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndIn(List<BigDecimal> values) {
            addCriterion("line15_end in", values, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndNotIn(List<BigDecimal> values) {
            addCriterion("line15_end not in", values, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line15_end between", value1, value2, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine15EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line15_end not between", value1, value2, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndIn(List<BigDecimal> values) {
            orCriterion("line15_end in", values, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndNotIn(List<BigDecimal> values) {
            orCriterion("line15_end not in", values, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line15_end between", value1, value2, "line15End");
            return (Criteria) this;
        }

        public Criteria orLine15EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line15_end not between", value1, value2, "line15End");
            return (Criteria) this;
        }

        public Criteria andLine16StartIsNull() {
            addCriterion("line16_start is null");
            return (Criteria) this;
        }

        public Criteria andLine16StartIsNotNull() {
            addCriterion("line16_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine16StartEqualTo(BigDecimal value) {
            addCriterion("line16_start =", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartNotEqualTo(BigDecimal value) {
            addCriterion("line16_start <>", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartGreaterThan(BigDecimal value) {
            addCriterion("line16_start >", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line16_start >=", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartLessThan(BigDecimal value) {
            addCriterion("line16_start <", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line16_start <=", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartIsNull() {
            orCriterion("line16_start is null");
            return (Criteria) this;
        }

        public Criteria orLine16StartIsNotNull() {
            orCriterion("line16_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine16StartEqualTo(BigDecimal value) {
            orCriterion("line16_start =", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartNotEqualTo(BigDecimal value) {
            orCriterion("line16_start <>", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartGreaterThan(BigDecimal value) {
            orCriterion("line16_start >", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line16_start >=", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartLessThan(BigDecimal value) {
            orCriterion("line16_start <", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line16_start <=", value, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartIn(List<BigDecimal> values) {
            addCriterion("line16_start in", values, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartNotIn(List<BigDecimal> values) {
            addCriterion("line16_start not in", values, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line16_start between", value1, value2, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line16_start not between", value1, value2, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartIn(List<BigDecimal> values) {
            orCriterion("line16_start in", values, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartNotIn(List<BigDecimal> values) {
            orCriterion("line16_start not in", values, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line16_start between", value1, value2, "line16Start");
            return (Criteria) this;
        }

        public Criteria orLine16StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line16_start not between", value1, value2, "line16Start");
            return (Criteria) this;
        }

        public Criteria andLine16EndIsNull() {
            addCriterion("line16_end is null");
            return (Criteria) this;
        }

        public Criteria andLine16EndIsNotNull() {
            addCriterion("line16_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine16EndEqualTo(BigDecimal value) {
            addCriterion("line16_end =", value, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndNotEqualTo(BigDecimal value) {
            addCriterion("line16_end <>", value, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndGreaterThan(BigDecimal value) {
            addCriterion("line16_end >", value, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line16_end >=", value, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndLessThan(BigDecimal value) {
            addCriterion("line16_end <", value, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line16_end <=", value, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndIsNull() {
            orCriterion("line16_end is null");
            return (Criteria) this;
        }

        public Criteria orLine16EndIsNotNull() {
            orCriterion("line16_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine16EndEqualTo(BigDecimal value) {
            orCriterion("line16_end =", value, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndNotEqualTo(BigDecimal value) {
            orCriterion("line16_end <>", value, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndGreaterThan(BigDecimal value) {
            orCriterion("line16_end >", value, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line16_end >=", value, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndLessThan(BigDecimal value) {
            orCriterion("line16_end <", value, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line16_end <=", value, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndIn(List<BigDecimal> values) {
            addCriterion("line16_end in", values, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndNotIn(List<BigDecimal> values) {
            addCriterion("line16_end not in", values, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line16_end between", value1, value2, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine16EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line16_end not between", value1, value2, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndIn(List<BigDecimal> values) {
            orCriterion("line16_end in", values, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndNotIn(List<BigDecimal> values) {
            orCriterion("line16_end not in", values, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line16_end between", value1, value2, "line16End");
            return (Criteria) this;
        }

        public Criteria orLine16EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line16_end not between", value1, value2, "line16End");
            return (Criteria) this;
        }

        public Criteria andLine17StartIsNull() {
            addCriterion("line17_start is null");
            return (Criteria) this;
        }

        public Criteria andLine17StartIsNotNull() {
            addCriterion("line17_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine17StartEqualTo(BigDecimal value) {
            addCriterion("line17_start =", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartNotEqualTo(BigDecimal value) {
            addCriterion("line17_start <>", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartGreaterThan(BigDecimal value) {
            addCriterion("line17_start >", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line17_start >=", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartLessThan(BigDecimal value) {
            addCriterion("line17_start <", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line17_start <=", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartIsNull() {
            orCriterion("line17_start is null");
            return (Criteria) this;
        }

        public Criteria orLine17StartIsNotNull() {
            orCriterion("line17_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine17StartEqualTo(BigDecimal value) {
            orCriterion("line17_start =", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartNotEqualTo(BigDecimal value) {
            orCriterion("line17_start <>", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartGreaterThan(BigDecimal value) {
            orCriterion("line17_start >", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line17_start >=", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartLessThan(BigDecimal value) {
            orCriterion("line17_start <", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line17_start <=", value, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartIn(List<BigDecimal> values) {
            addCriterion("line17_start in", values, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartNotIn(List<BigDecimal> values) {
            addCriterion("line17_start not in", values, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line17_start between", value1, value2, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line17_start not between", value1, value2, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartIn(List<BigDecimal> values) {
            orCriterion("line17_start in", values, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartNotIn(List<BigDecimal> values) {
            orCriterion("line17_start not in", values, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line17_start between", value1, value2, "line17Start");
            return (Criteria) this;
        }

        public Criteria orLine17StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line17_start not between", value1, value2, "line17Start");
            return (Criteria) this;
        }

        public Criteria andLine17EndIsNull() {
            addCriterion("line17_end is null");
            return (Criteria) this;
        }

        public Criteria andLine17EndIsNotNull() {
            addCriterion("line17_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine17EndEqualTo(BigDecimal value) {
            addCriterion("line17_end =", value, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndNotEqualTo(BigDecimal value) {
            addCriterion("line17_end <>", value, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndGreaterThan(BigDecimal value) {
            addCriterion("line17_end >", value, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line17_end >=", value, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndLessThan(BigDecimal value) {
            addCriterion("line17_end <", value, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line17_end <=", value, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndIsNull() {
            orCriterion("line17_end is null");
            return (Criteria) this;
        }

        public Criteria orLine17EndIsNotNull() {
            orCriterion("line17_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine17EndEqualTo(BigDecimal value) {
            orCriterion("line17_end =", value, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndNotEqualTo(BigDecimal value) {
            orCriterion("line17_end <>", value, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndGreaterThan(BigDecimal value) {
            orCriterion("line17_end >", value, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line17_end >=", value, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndLessThan(BigDecimal value) {
            orCriterion("line17_end <", value, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line17_end <=", value, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndIn(List<BigDecimal> values) {
            addCriterion("line17_end in", values, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndNotIn(List<BigDecimal> values) {
            addCriterion("line17_end not in", values, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line17_end between", value1, value2, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine17EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line17_end not between", value1, value2, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndIn(List<BigDecimal> values) {
            orCriterion("line17_end in", values, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndNotIn(List<BigDecimal> values) {
            orCriterion("line17_end not in", values, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line17_end between", value1, value2, "line17End");
            return (Criteria) this;
        }

        public Criteria orLine17EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line17_end not between", value1, value2, "line17End");
            return (Criteria) this;
        }

        public Criteria andLine18StartIsNull() {
            addCriterion("line18_start is null");
            return (Criteria) this;
        }

        public Criteria andLine18StartIsNotNull() {
            addCriterion("line18_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine18StartEqualTo(BigDecimal value) {
            addCriterion("line18_start =", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartNotEqualTo(BigDecimal value) {
            addCriterion("line18_start <>", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartGreaterThan(BigDecimal value) {
            addCriterion("line18_start >", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line18_start >=", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartLessThan(BigDecimal value) {
            addCriterion("line18_start <", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line18_start <=", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartIsNull() {
            orCriterion("line18_start is null");
            return (Criteria) this;
        }

        public Criteria orLine18StartIsNotNull() {
            orCriterion("line18_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine18StartEqualTo(BigDecimal value) {
            orCriterion("line18_start =", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartNotEqualTo(BigDecimal value) {
            orCriterion("line18_start <>", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartGreaterThan(BigDecimal value) {
            orCriterion("line18_start >", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line18_start >=", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartLessThan(BigDecimal value) {
            orCriterion("line18_start <", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line18_start <=", value, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartIn(List<BigDecimal> values) {
            addCriterion("line18_start in", values, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartNotIn(List<BigDecimal> values) {
            addCriterion("line18_start not in", values, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line18_start between", value1, value2, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line18_start not between", value1, value2, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartIn(List<BigDecimal> values) {
            orCriterion("line18_start in", values, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartNotIn(List<BigDecimal> values) {
            orCriterion("line18_start not in", values, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line18_start between", value1, value2, "line18Start");
            return (Criteria) this;
        }

        public Criteria orLine18StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line18_start not between", value1, value2, "line18Start");
            return (Criteria) this;
        }

        public Criteria andLine18EndIsNull() {
            addCriterion("line18_end is null");
            return (Criteria) this;
        }

        public Criteria andLine18EndIsNotNull() {
            addCriterion("line18_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine18EndEqualTo(BigDecimal value) {
            addCriterion("line18_end =", value, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndNotEqualTo(BigDecimal value) {
            addCriterion("line18_end <>", value, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndGreaterThan(BigDecimal value) {
            addCriterion("line18_end >", value, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line18_end >=", value, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndLessThan(BigDecimal value) {
            addCriterion("line18_end <", value, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line18_end <=", value, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndIsNull() {
            orCriterion("line18_end is null");
            return (Criteria) this;
        }

        public Criteria orLine18EndIsNotNull() {
            orCriterion("line18_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine18EndEqualTo(BigDecimal value) {
            orCriterion("line18_end =", value, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndNotEqualTo(BigDecimal value) {
            orCriterion("line18_end <>", value, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndGreaterThan(BigDecimal value) {
            orCriterion("line18_end >", value, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line18_end >=", value, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndLessThan(BigDecimal value) {
            orCriterion("line18_end <", value, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line18_end <=", value, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndIn(List<BigDecimal> values) {
            addCriterion("line18_end in", values, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndNotIn(List<BigDecimal> values) {
            addCriterion("line18_end not in", values, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line18_end between", value1, value2, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine18EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line18_end not between", value1, value2, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndIn(List<BigDecimal> values) {
            orCriterion("line18_end in", values, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndNotIn(List<BigDecimal> values) {
            orCriterion("line18_end not in", values, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line18_end between", value1, value2, "line18End");
            return (Criteria) this;
        }

        public Criteria orLine18EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line18_end not between", value1, value2, "line18End");
            return (Criteria) this;
        }

        public Criteria andLine19StartIsNull() {
            addCriterion("line19_start is null");
            return (Criteria) this;
        }

        public Criteria andLine19StartIsNotNull() {
            addCriterion("line19_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine19StartEqualTo(BigDecimal value) {
            addCriterion("line19_start =", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartNotEqualTo(BigDecimal value) {
            addCriterion("line19_start <>", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartGreaterThan(BigDecimal value) {
            addCriterion("line19_start >", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line19_start >=", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartLessThan(BigDecimal value) {
            addCriterion("line19_start <", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line19_start <=", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartIsNull() {
            orCriterion("line19_start is null");
            return (Criteria) this;
        }

        public Criteria orLine19StartIsNotNull() {
            orCriterion("line19_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine19StartEqualTo(BigDecimal value) {
            orCriterion("line19_start =", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartNotEqualTo(BigDecimal value) {
            orCriterion("line19_start <>", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartGreaterThan(BigDecimal value) {
            orCriterion("line19_start >", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line19_start >=", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartLessThan(BigDecimal value) {
            orCriterion("line19_start <", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line19_start <=", value, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartIn(List<BigDecimal> values) {
            addCriterion("line19_start in", values, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartNotIn(List<BigDecimal> values) {
            addCriterion("line19_start not in", values, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line19_start between", value1, value2, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line19_start not between", value1, value2, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartIn(List<BigDecimal> values) {
            orCriterion("line19_start in", values, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartNotIn(List<BigDecimal> values) {
            orCriterion("line19_start not in", values, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line19_start between", value1, value2, "line19Start");
            return (Criteria) this;
        }

        public Criteria orLine19StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line19_start not between", value1, value2, "line19Start");
            return (Criteria) this;
        }

        public Criteria andLine19EndIsNull() {
            addCriterion("line19_end is null");
            return (Criteria) this;
        }

        public Criteria andLine19EndIsNotNull() {
            addCriterion("line19_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine19EndEqualTo(BigDecimal value) {
            addCriterion("line19_end =", value, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndNotEqualTo(BigDecimal value) {
            addCriterion("line19_end <>", value, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndGreaterThan(BigDecimal value) {
            addCriterion("line19_end >", value, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line19_end >=", value, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndLessThan(BigDecimal value) {
            addCriterion("line19_end <", value, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line19_end <=", value, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndIsNull() {
            orCriterion("line19_end is null");
            return (Criteria) this;
        }

        public Criteria orLine19EndIsNotNull() {
            orCriterion("line19_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine19EndEqualTo(BigDecimal value) {
            orCriterion("line19_end =", value, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndNotEqualTo(BigDecimal value) {
            orCriterion("line19_end <>", value, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndGreaterThan(BigDecimal value) {
            orCriterion("line19_end >", value, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line19_end >=", value, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndLessThan(BigDecimal value) {
            orCriterion("line19_end <", value, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line19_end <=", value, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndIn(List<BigDecimal> values) {
            addCriterion("line19_end in", values, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndNotIn(List<BigDecimal> values) {
            addCriterion("line19_end not in", values, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line19_end between", value1, value2, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine19EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line19_end not between", value1, value2, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndIn(List<BigDecimal> values) {
            orCriterion("line19_end in", values, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndNotIn(List<BigDecimal> values) {
            orCriterion("line19_end not in", values, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line19_end between", value1, value2, "line19End");
            return (Criteria) this;
        }

        public Criteria orLine19EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line19_end not between", value1, value2, "line19End");
            return (Criteria) this;
        }

        public Criteria andLine20StartIsNull() {
            addCriterion("line20_start is null");
            return (Criteria) this;
        }

        public Criteria andLine20StartIsNotNull() {
            addCriterion("line20_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine20StartEqualTo(BigDecimal value) {
            addCriterion("line20_start =", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartNotEqualTo(BigDecimal value) {
            addCriterion("line20_start <>", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartGreaterThan(BigDecimal value) {
            addCriterion("line20_start >", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line20_start >=", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartLessThan(BigDecimal value) {
            addCriterion("line20_start <", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line20_start <=", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartIsNull() {
            orCriterion("line20_start is null");
            return (Criteria) this;
        }

        public Criteria orLine20StartIsNotNull() {
            orCriterion("line20_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine20StartEqualTo(BigDecimal value) {
            orCriterion("line20_start =", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartNotEqualTo(BigDecimal value) {
            orCriterion("line20_start <>", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartGreaterThan(BigDecimal value) {
            orCriterion("line20_start >", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line20_start >=", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartLessThan(BigDecimal value) {
            orCriterion("line20_start <", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line20_start <=", value, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartIn(List<BigDecimal> values) {
            addCriterion("line20_start in", values, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartNotIn(List<BigDecimal> values) {
            addCriterion("line20_start not in", values, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line20_start between", value1, value2, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line20_start not between", value1, value2, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartIn(List<BigDecimal> values) {
            orCriterion("line20_start in", values, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartNotIn(List<BigDecimal> values) {
            orCriterion("line20_start not in", values, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line20_start between", value1, value2, "line20Start");
            return (Criteria) this;
        }

        public Criteria orLine20StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line20_start not between", value1, value2, "line20Start");
            return (Criteria) this;
        }

        public Criteria andLine20EndIsNull() {
            addCriterion("line20_end is null");
            return (Criteria) this;
        }

        public Criteria andLine20EndIsNotNull() {
            addCriterion("line20_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine20EndEqualTo(BigDecimal value) {
            addCriterion("line20_end =", value, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndNotEqualTo(BigDecimal value) {
            addCriterion("line20_end <>", value, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndGreaterThan(BigDecimal value) {
            addCriterion("line20_end >", value, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line20_end >=", value, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndLessThan(BigDecimal value) {
            addCriterion("line20_end <", value, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line20_end <=", value, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndIsNull() {
            orCriterion("line20_end is null");
            return (Criteria) this;
        }

        public Criteria orLine20EndIsNotNull() {
            orCriterion("line20_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine20EndEqualTo(BigDecimal value) {
            orCriterion("line20_end =", value, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndNotEqualTo(BigDecimal value) {
            orCriterion("line20_end <>", value, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndGreaterThan(BigDecimal value) {
            orCriterion("line20_end >", value, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line20_end >=", value, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndLessThan(BigDecimal value) {
            orCriterion("line20_end <", value, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line20_end <=", value, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndIn(List<BigDecimal> values) {
            addCriterion("line20_end in", values, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndNotIn(List<BigDecimal> values) {
            addCriterion("line20_end not in", values, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line20_end between", value1, value2, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine20EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line20_end not between", value1, value2, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndIn(List<BigDecimal> values) {
            orCriterion("line20_end in", values, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndNotIn(List<BigDecimal> values) {
            orCriterion("line20_end not in", values, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line20_end between", value1, value2, "line20End");
            return (Criteria) this;
        }

        public Criteria orLine20EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line20_end not between", value1, value2, "line20End");
            return (Criteria) this;
        }

        public Criteria andLine21StartIsNull() {
            addCriterion("line21_start is null");
            return (Criteria) this;
        }

        public Criteria andLine21StartIsNotNull() {
            addCriterion("line21_start is not null");
            return (Criteria) this;
        }

        public Criteria andLine21StartEqualTo(BigDecimal value) {
            addCriterion("line21_start =", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartNotEqualTo(BigDecimal value) {
            addCriterion("line21_start <>", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartGreaterThan(BigDecimal value) {
            addCriterion("line21_start >", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line21_start >=", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartLessThan(BigDecimal value) {
            addCriterion("line21_start <", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line21_start <=", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartIsNull() {
            orCriterion("line21_start is null");
            return (Criteria) this;
        }

        public Criteria orLine21StartIsNotNull() {
            orCriterion("line21_start is not null");
            return (Criteria) this;
        }

        public Criteria orLine21StartEqualTo(BigDecimal value) {
            orCriterion("line21_start =", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartNotEqualTo(BigDecimal value) {
            orCriterion("line21_start <>", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartGreaterThan(BigDecimal value) {
            orCriterion("line21_start >", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line21_start >=", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartLessThan(BigDecimal value) {
            orCriterion("line21_start <", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line21_start <=", value, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartIn(List<BigDecimal> values) {
            addCriterion("line21_start in", values, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartNotIn(List<BigDecimal> values) {
            addCriterion("line21_start not in", values, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line21_start between", value1, value2, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21StartNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line21_start not between", value1, value2, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartIn(List<BigDecimal> values) {
            orCriterion("line21_start in", values, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartNotIn(List<BigDecimal> values) {
            orCriterion("line21_start not in", values, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line21_start between", value1, value2, "line21Start");
            return (Criteria) this;
        }

        public Criteria orLine21StartNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line21_start not between", value1, value2, "line21Start");
            return (Criteria) this;
        }

        public Criteria andLine21EndIsNull() {
            addCriterion("line21_end is null");
            return (Criteria) this;
        }

        public Criteria andLine21EndIsNotNull() {
            addCriterion("line21_end is not null");
            return (Criteria) this;
        }

        public Criteria andLine21EndEqualTo(BigDecimal value) {
            addCriterion("line21_end =", value, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndNotEqualTo(BigDecimal value) {
            addCriterion("line21_end <>", value, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndGreaterThan(BigDecimal value) {
            addCriterion("line21_end >", value, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("line21_end >=", value, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndLessThan(BigDecimal value) {
            addCriterion("line21_end <", value, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndLessThanOrEqualTo(BigDecimal value) {
            addCriterion("line21_end <=", value, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndIsNull() {
            orCriterion("line21_end is null");
            return (Criteria) this;
        }

        public Criteria orLine21EndIsNotNull() {
            orCriterion("line21_end is not null");
            return (Criteria) this;
        }

        public Criteria orLine21EndEqualTo(BigDecimal value) {
            orCriterion("line21_end =", value, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndNotEqualTo(BigDecimal value) {
            orCriterion("line21_end <>", value, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndGreaterThan(BigDecimal value) {
            orCriterion("line21_end >", value, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndGreaterThanOrEqualTo(BigDecimal value) {
            orCriterion("line21_end >=", value, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndLessThan(BigDecimal value) {
            orCriterion("line21_end <", value, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndLessThanOrEqualTo(BigDecimal value) {
            orCriterion("line21_end <=", value, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndIn(List<BigDecimal> values) {
            addCriterion("line21_end in", values, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndNotIn(List<BigDecimal> values) {
            addCriterion("line21_end not in", values, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line21_end between", value1, value2, "line21End");
            return (Criteria) this;
        }

        public Criteria andLine21EndNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("line21_end not between", value1, value2, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndIn(List<BigDecimal> values) {
            orCriterion("line21_end in", values, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndNotIn(List<BigDecimal> values) {
            orCriterion("line21_end not in", values, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line21_end between", value1, value2, "line21End");
            return (Criteria) this;
        }

        public Criteria orLine21EndNotBetween(BigDecimal value1, BigDecimal value2) {
            orCriterion("line21_end not between", value1, value2, "line21End");
            return (Criteria) this;
        }
    }

    /**
     * 该类对应数据库表 financial_cash_flow
     */
    public static class Criteria extends GeneratedCriteria {
        protected boolean andRelation;

        public boolean isAndRelation() {
            return andRelation;
        }

        protected Criteria() {
            super();
        }

        public void setAndRelation(boolean andRelation) {
            this.andRelation = andRelation;
        }
    }

    /**
     * 该类对应数据库表 financial_cash_flow
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean orValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isOrValue() {
            return orValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, boolean orValue) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
            this.orValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, boolean orValue) {
            this(condition, value, null);
            this.orValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, boolean orValue) {
            this(condition, value, secondValue, null);
            this.orValue = true;
        }
    }
}